Extension point elasticSearchIndex
Documentation
Extension point used to setup an Elasticsearch index.
The one used to index Nuxeo documents must be of type "doc".
<elasticSearchIndex create="true" name="nuxeo" type="doc">
<settings/>
<mapping/>
<fetchFromSources>
<include>ecm:*</include>
<include>dc:*</include>
<exclude>ecm:binaryFulltext</exclude>
</fetchFromSources>
</elasticSearchIndex>
@Since 5.9.3 name is the Elasticsearch index name.
type is the Elasticsearch type that hold a mapping, "doc" is the mapping for Nuxeo documents
create can be set to false if you don't want Nuxeo to initialize the index and mapping.
settings the Elasticsearch settings @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules.html
mapping the Elasticsearch mapping for the type @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping.html
@Since 5.9.5 fetchFromSources, include a list of field name pattern that will be included when fetching document from Elasticsearch (@see NxQueryBuilder.fetchFromElasticsearch) use the exclude list to prevent returning fulltext or long fields.
Contribution Descriptors
- Class: org.nuxeo.elasticsearch.config.ElasticSearchIndexConfig
Existing Contributions
Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.
-
<extension point="elasticSearchIndex" target="org.nuxeo.elasticsearch.ElasticSearchComponent"> <elasticSearchIndex name="nuxeo" repository="default" type="doc"> <fetchFromSource> <include>ecm:*</include> <include>dc:*</include> <exclude>ecm:binarytext</exclude> </fetchFromSource> <settings> { "analysis" : { "filter" : { "en_stem_filter" : { "name" : "minimal_english", "type" : "stemmer" }, "en_stop_filter" : { "stopwords" : [ "_english_" ], "type" : "stop" }, "fr_elision_filter" : { "articles" : [ "c", "l", "m", "t", "qu", "n", "s", "j" ], "type" : "elision" }, "fr_stem_filter" : { "name" : "minimal_french", "type" : "stemmer" }, "fr_stop_filter" : { "stopwords" : [ "_french_" ], "type" : "stop" } }, "tokenizer" : { "path_tokenizer" : { "delimiter" : "/", "type" : "path_hierarchy" } }, "analyzer" : { "en_analyzer" : { "alias" : "fulltext", "filter" : [ "lowercase", "en_stop_filter", "en_stem_filter", "asciifolding" ], "type" : "custom", "tokenizer" : "standard" }, "fr_analyzer" : { "filter" : [ "lowercase", "fr_stop_filter", "fr_stem_filter", "asciifolding", "fr_elision_filter" ], "type" : "custom", "tokenizer" : "standard" }, "path_analyzer" : { "type" : "custom", "tokenizer" : "path_tokenizer" }, "default" : { "type" : "custom", "tokenizer" : "keyword" } } } } </settings> <mapping> { "_size" : { "enabled" : true }, "_all" : { "analyzer" : "fulltext" }, "properties" : { "dc:title" : { "type" : "multi_field", "fields" : { "dc:title" : { "index" : "not_analyzed", "type" : "string" }, "fulltext" : { "boost": 2, "type": "string", "analyzer" : "fulltext" } } }, "dc:description" : { "type" : "multi_field", "fields" : { "dc:description" : { "index" : "no", "include_in_all" : "true", "type" : "string" }, "fulltext" : { "boost": 1.5, "type": "string", "analyzer" : "fulltext" } } }, "note:note" : { "type" : "multi_field", "fields" : { "note:note" : { "index" : "no", "include_in_all" : "true", "type" : "string" }, "fulltext" : { "type": "string", "analyzer" : "fulltext" } } }, "ecm:binarytext*" : { "type" : "string", "analyzer" : "fulltext" }, "ecm:path" : { "type" : "multi_field", "fields" : { "children" : { "search_analyzer" : "keyword", "index_analyzer" : "path_analyzer", "type" : "string" }, "ecm:path" : { "index" : "not_analyzed", "type" : "string" } } }, "ecm:pos": { "type": "integer" }, "dc:created": { "format": "dateOptionalTime", "type": "date" }, "dc:modified": { "format": "dateOptionalTime", "type": "date" } } } </mapping> </elasticSearchIndex> </extension>